<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Language" content="zh-CN"><title>crypttab
  中文手册 [金步国]</title><style>
@font-face { font-family: "JinBuGuoWebMono"; src: url("http://www.jinbuguo.com/d/mono.ttf") format("truetype"); }
* { font-family: "JinBuGuoWebMono", "Ubuntu Mono", "Consolas", "Menlo", monospace; }
body { margin:10px; }
h1 { text-align:center; background:#ddd; }
h2#auth_name { text-align:center; margin: 10px 5%; }

    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
</style><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><h1>crypttab 中文手册</h1><h2 id="auth_name">译者：<strong><a href="../index.html">金步国</a></strong></h2><hr><h3>版权声明</h3><p>本文译者是一位开源理念的坚定支持者，所以本文虽然不是软件，但是遵照开源的精神发布。</p><ul><li>无担保：本文译者不保证译文内容准确无误，亦不承担任何由于使用此文档所导致的损失。</li><li>自由使用：任何人都可以自由的<u>阅读/链接/打印</u>此文档，无需任何附加条件。</li><li>名誉权：任何人都可以自由的<u>转载/引用/再创作</u>此文档，但必须保留译者署名并注明出处。</li></ul><h3>其他作品</h3><p>本文译者十分愿意与他人分享劳动成果，如果你对我的其他翻译作品或者技术文章有兴趣，可以在如下位置查看现有的作品集：</p><ul><li><a href="../index.html">金步国作品集</a> [ <a href="../index.html">http://www.jinbuguo.com/</a> ]</li></ul><h3>联系方式</h3><p>由于译者水平有限，因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好)，请来信指出，任何提高译文质量的建议我都将虚心接纳。</p><ul><li>Email(QQ)：70171448在QQ邮箱</li></ul><hr><a href="systemd.index.html">手册索引</a> ·
  <a href="systemd.directives.html">指令索引</a><span style="float:right">systemd-241</span><hr><div class="refentry"><a name="crypttab"></a><div class="titlepage"></div><div class="refnamediv"><h2>名称</h2><p>crypttab — 加密块设备配置</p></div><div class="refsynopsisdiv"><h2>大纲</h2><p><code class="filename">/etc/crypttab</code></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="描述">描述<a class="headerlink" title="Permalink to this headline" href="crypttab.html#%E6%8F%8F%E8%BF%B0">¶</a></h2><p> <code class="filename">/etc/crypttab</code> 文件用于描述
    在系统启动过程中创建的加密块设备(加密卷)。</p><p>空行以及以井号"<code class="literal">#</code>"开头的行将被忽略。
    其余每一行描述一个加密块设备(加密卷)。
    不同字段之间使用空白符分隔。</p><p>每一行都遵守如下格式：</p><pre class="programlisting"><em class="replaceable"><code>name</code></em> <em class="replaceable"><code>encrypted-device</code></em> <em class="replaceable"><code>password</code></em> <em class="replaceable"><code>options</code></em></pre><p>
    每一行的前两个字段是必须存在的字段，
    而其余的字段则是可选字段(也就是可以省略)。</p><p>使用此文件创建的加密卷支持三种不同的加密模式(LUKS, plain, TrueCrypt)。
    参见 <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
    手册以了解这三种模式的详细信息。
    如果没有在第四个字段(选项字段)中明确指定加密模式，那么：
    如果块设备包含一个 LUKS 签名，那么使用 LUKS 加密模式，
    否则使用 plain 模式(也就是原始 dm-crypt 格式)。
    [译者注]因为 TrueCrypt 存在安全漏洞并且已经在2014年停止开发，所以切勿再使用此种加密模式。</p><p>第一个字段(必须)是加密卷的映射名称，
    也就是映射在
    <code class="filename">/dev/mapper/</code> 目录下的设备名称。</p><p>第二个字段(必须)是加密卷自身。可以是下列三者之一：(1)加密卷所在底层块设备的绝对路径；(2)加密卷所在底层 loop 文件的绝对路径；
    (3)以 "<code class="literal">UUID=00112233-4455-6677-8899-aabbccddeeff</code>" 格式表示的LUKS加密卷的UUID值(可以使用
    <span class="command"><strong>cryptsetup luksUUID <em class="replaceable"><code>device</code></em></strong></span> 命令显示LUKS加密卷的UUID值)。</p><p>第三个字段(可选)是加密卷的密码文件。
    密码文件必须以绝对路径表示，并且其中仅包含用于解开加密卷的密码。
    如果省略此字段或者设为特殊值
    "<code class="literal">none</code>" 或 "<code class="literal">-</code>" ，
    那么就表示在系统启动过程中手工输入解密密码。
    对于 swap 加密卷，建议使用 <code class="filename">/dev/urandom</code>
    或 <code class="filename">/dev/hw_random</code> 作为密码文件。
    最好不要使用 <code class="filename">/dev/random</code>
    作为密码文件，
    否则系统有可能因为无法产生足够的随机数而不能完成启动。</p><p>第四个字段(可选)是逗号分隔的加密卷选项。
    可以识别的选项如下：</p><div class="variablelist"><dl class="variablelist"><dt id="cipher="><span class="term"><code class="option">cipher=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#cipher=">¶</a></dt><dd><p>指定加密算法。
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册中列出了此选项的所有可用值以及默认值。
        建议使用带有不可预测的初始向量值的加密算法(例如
        "<code class="literal">aes-cbc-essiv:sha256</code>"
        算法)。</p></dd><dt id="discard"><span class="term"><code class="option">discard</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#discard">¶</a></dt><dd><p>允许透过加密卷向底层块设备传递 discard 请求。
        此选项可以提高 SSD 的性能，但是对安全性有不利影响。
        </p></dd><dt id="hash="><span class="term"><code class="option">hash=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#hash=">¶</a></dt><dd><p>指定用于哈希密码的散列算法。
        参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解
        此选项的取值范围以及默认值。</p></dd><dt id="header="><span class="term"><code class="option">header=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#header=">¶</a></dt><dd><p>指定额外存储LUKS头信息的元数据设备或文件。
        此选项仅可用于 LUKS 设备。
        参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解
        此选项的取值范围以及默认值。</p></dd><dt id="keyfile-offset="><span class="term"><code class="option">keyfile-offset=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#keyfile-offset=">¶</a></dt><dd><p>从密钥文件头部跳过多少字节。
        参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解
        此选项的取值范围以及默认值。</p></dd><dt id="keyfile-size="><span class="term"><code class="option">keyfile-size=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#keyfile-size=">¶</a></dt><dd><p>最多从密钥文件中读取多少字节。
        参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解此选项的取值范围以及默认值。
        plain 模式将会忽略此选项，
        直接使用密钥的大小(<code class="option">size=</code>)。</p></dd><dt id="key-slot="><span class="term"><code class="option">key-slot=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#key-slot=">¶</a></dt><dd><p>使用特定编号的密钥槽内的密钥。
        如果指定槽位内的密钥不匹配，
        那么即使其他槽位内的密钥能够匹配，加密设备也会安装失败。
        此选项隐含了 <code class="option">luks</code> 选项。
        参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解此选项的取值范围。
        默认是按密钥槽的编号依次尝试所有密钥。</p></dd><dt id="luks"><span class="term"><code class="option">luks</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#luks">¶</a></dt><dd><p>强制使用 LUKS 加密模式。
        使用此选项之后，<code class="option">cipher=</code>,
        <code class="option">hash=</code>, <code class="option">size=</code>
        选项将被忽略，
        因为它们将由设备上的"LUKS头"提供。</p></dd><dt id="_netdev"><span class="term"><code class="option">_netdev</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#_netdev">¶</a></dt><dd><p>将底层块设备标记为网络块设备。
        也就是必须在网络可用之后才能启用此设备。类似于带有 <code class="option">_netdev</code> 标记的
        <a href="systemd.mount.html#"><span class="citerefentry"><span class="refentrytitle">systemd.mount</span>(5)</span></a>
        单元。用于启用此设备的服务单元将被安排在
        <code class="filename">remote-fs-pre.target</code> 与
        <code class="filename">remote-cryptsetup.target</code> 之间启动(而不是在
        <code class="filename">cryptsetup-pre.target</code> 与
        <code class="filename">cryptsetup.target</code> 之间)。</p><p>如果该加密卷也用于
        <a href="http://man7.org/linux/man-pages/man5/fstab.5.html"><span class="citerefentry"><span class="refentrytitle">fstab</span>(5)</span></a>
        中的某个挂载点，那么该挂载点也必须使用 <code class="option">_netdev</code> 选项。
        否则可能会造成循环依赖：
         <code class="filename">local-fs.target</code> 依赖于该挂载点、
        配置网络的服务又通常在 <code class="filename">local-fs.target</code>
        挂载完成<span class="emphasis"><em>之后</em></span>才会启动。</p></dd><dt id="noauto"><span class="term"><code class="option">noauto</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#noauto">¶</a></dt><dd><p>不将此设备添加到 <code class="filename">cryptsetup.target</code> 之中，
        也就是若非必须，不在系统启动时自动解锁(解密)。
        如果该设备用于某个挂载点，
        除非此挂载点已被 <code class="option">noauto</code> 禁止自动挂载，
        否则该设备将会在系统启动过程中被自动解锁(解密)。</p></dd><dt id="nofail"><span class="term"><code class="option">nofail</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#nofail">¶</a></dt><dd><p>只将此设备用作
        <code class="filename">cryptsetup.target</code> 的非必要依赖。此设备仍会被启动，
        但系统启动时并不等待此设备的出现，也不等待它完成解锁(解密)。
        此加密卷的故障不会导致系统启动失败，但其他依赖此加密卷的单元仍然会失败，
        特别是当此加密卷用于某个挂载点时，
        该挂载点也需要使用 <code class="option">noauto</code> 选项，
        否则如果解锁(解密)失败，仍然会导致系统启动失败。</p></dd><dt id="offset="><span class="term"><code class="option">offset=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#offset=">¶</a></dt><dd><p>使用底层块设备的起点偏移量(以512字节的扇区为单位)。
        此选项仅可用于 plain 模式(也就是原始 dm-crypt 格式)的加密卷。</p></dd><dt id="plain"><span class="term"><code class="option">plain</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#plain">¶</a></dt><dd><p>强制使用 plain 加密模式(也就是原始 dm-crypt 格式)。</p></dd><dt id="read-only"><span class="term"><code class="option">read-only</code>, </span><span class="term"><code class="option">readonly</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#read-only">¶</a></dt><dd><p>以只读模式
        使用加密卷。</p></dd><dt id="skip="><span class="term"><code class="option">skip=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#skip=">¶</a></dt><dd><p>从加密数据头部跳过多少个512字节的扇区。
        此选项与 <code class="option">offset=</code> 的不同之处在于，
        此选项已经将初始化向量所使用的扇区考虑在内。
        使用 <code class="option">offset=</code> 选项将会把初始化向量向后平移指定的距离。
        所以，如果设置了 <code class="option">offset=<em class="replaceable"><code>n</code></em></code>  ，
        那么底层块设备的 <em class="replaceable"><code>n</code></em> 号扇区对于初始化向量的计算来说，就是 0 号扇区。
        对于 <code class="option">offset=<em class="replaceable"><code>n</code></em></code> 来说，
        底层块设备的 <em class="replaceable"><code>n</code></em> 号扇区对应着映射设备的 0 号扇区，
        而初始化向量的生成将从 <em class="replaceable"><code>n</code></em> 号扇区开始。</p><p>此选项仅可用于 plain 模式(也就是原始 dm-crypt 格式)的加密卷。</p></dd><dt id="size="><span class="term"><code class="option">size=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#size=">¶</a></dt><dd><p>指定密钥的位数(注意，不是字节大小)。参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解
        此选项的取值范围以及默认值。</p></dd><dt id="sector-size="><span class="term"><code class="option">sector-size=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#sector-size=">¶</a></dt><dd><p>以字节为单位指定扇区大小。参见
        <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
        手册以了解
        此选项的取值范围以及默认值。</p></dd><dt id="swap"><span class="term"><code class="option">swap</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#swap">¶</a></dt><dd><p>将加密卷用作swap设备。
        这将在安装好加密卷之后自动使用
        <a href="http://man7.org/linux/man-pages/man8/mkswap.8.html"><span class="citerefentry"><span class="refentrytitle">mkswap</span>(8)</span></a>
        对映射后的设备进行格式化。
        此选项隐含了 <code class="option">plain</code> 选项。</p><p>警告：使用 <code class="option">swap</code>
        选项将会导致在每次系统启动过程中都彻底擦除底层加密块设备上的数据。
        所以必须确保
        正确的设置了第二个字段。</p></dd><dt id="tcrypt"><span class="term"><code class="option">tcrypt</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#tcrypt">¶</a></dt><dd><p>强制使用 TrueCrypt 加密模式(强烈反对使用此模式)。
        使用此模式之后，
        下面的选项将被忽略
        (因为没有意义或已被包含在设备上的 TrueCrypt 头部之中)：
        <code class="option">cipher=</code>,
        <code class="option">hash=</code>,
        <code class="option">keyfile-offset=</code>,
        <code class="option">keyfile-size=</code>,
        <code class="option">size=</code> 。…[略]…</p></dd><dt id="timeout="><span class="term"><code class="option">timeout=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#timeout=">¶</a></dt><dd><p>等待输入密码的最大时长。
        默认的时间单位是秒，但是也可以明确的使用
         ms, s, min, h, d 单位后缀。
        默认值 0 表示永不超时。</p></dd><dt id="tmp"><span class="term"><code class="option">tmp</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#tmp">¶</a></dt><dd><p>将此加密卷用作 <code class="filename">/tmp</code> 挂载点的底层设备。
        这将在安装好加密卷之后自动使用
        <a href="http://man7.org/linux/man-pages/man8/mke2fs.8.html"><span class="citerefentry"><span class="refentrytitle">mke2fs</span>(8)</span></a>
        对映射后的设备进行格式化。
        此选项隐含了 <code class="option">plain</code> 选项。</p><p>警告：使用 <code class="option">tmp</code>
        选项将会导致在每次系统启动过程中都彻底擦除底层加密块设备上的数据。
        所以必须确保
        正确的设置了第二个字段。</p></dd><dt id="tries="><span class="term"><code class="option">tries=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#tries=">¶</a></dt><dd><p>允许用户最多输入几次密码。
        默认值是 3 。
        设为 0 表示允许无限次。</p></dd><dt id="verify"><span class="term"><code class="option">verify</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#verify">¶</a></dt><dd><p>如果从控制台读取密码，
        那么用户必须两次输入相同的密码，
        以防止偶然的按键错误。</p></dd><dt id="x-systemd.device-timeout="><span class="term"><code class="option">x-systemd.device-timeout=</code></span><a class="headerlink" title="Permalink to this term" href="crypttab.html#x-systemd.device-timeout=">¶</a></dt><dd><p>在放弃此加密卷之前，
        要求 systemd 等待此加密卷出现的最大时长。
        默认的时间单位是秒，但是也可以明确的使用
        "<code class="literal">s</code>",
        "<code class="literal">min</code>",
        "<code class="literal">h</code>",
        "<code class="literal">ms</code>" 单位后缀。
        </p></dd></dl></div><p>在系统启动的早期阶段，以及 systemd 重新加载其自身配置的时候，
    该文件将被
    <a href="systemd-cryptsetup-generator.html#"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a> 转化为本地单元。</p></div><div class="refsect1"><a name="id-1.6"></a><h2 id="例子">例子<a class="headerlink" title="Permalink to this headline" href="crypttab.html#%E4%BE%8B%E5%AD%90">¶</a></h2><div class="example"><a name="id-1.6.2"></a><p class="title"><b>例 1. /etc/crypttab 实例</b></p><div class="example-contents"><p>设置了四个加密卷。两个基于普通块设备的 LUKS 加密卷(第二个位于SSD上)、
      一个基于 loop 文件的 LUKS 加密卷、
      最后一个是加密的交换分区。</p><pre class="programlisting">luks       UUID=2505567a-9e27-4efe-a4d5-15ad146c258b
sdb1_crypt /dev/sdb1          none               luks,discard
loopluks   /srv/loop_luks
swap       /dev/sda7          /dev/urandom       swap</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="id-1.7"></a><h2 id="参见">参见<a class="headerlink" title="Permalink to this headline" href="crypttab.html#%E5%8F%82%E8%A7%81">¶</a></h2><p>
      <a href="systemd.html#"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
      <a href="systemd-cryptsetup@.service.html#"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup@.service</span>(8)</span></a>,
      <a href="systemd-cryptsetup-generator.html#"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a>,
      <a href="http://man7.org/linux/man-pages/man5/fstab.5.html"><span class="citerefentry"><span class="refentrytitle">fstab</span>(5)</span></a>,
      <a href="https://linux.die.net/man/8/cryptsetup"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>,
      <a href="http://man7.org/linux/man-pages/man8/mkswap.8.html"><span class="citerefentry"><span class="refentrytitle">mkswap</span>(8)</span></a>,
      <a href="http://man7.org/linux/man-pages/man8/mke2fs.8.html"><span class="citerefentry"><span class="refentrytitle">mke2fs</span>(8)</span></a>
    </p></div></div></body></html>
